// Copyright 2025 Google LLC
//
// Licensed under the Apache License, Version 2.0 (the "License");
// you may not use this file except in compliance with the License.
// You may obtain a copy of the License at
//
//     https://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software
// distributed under the License is distributed on an "AS IS" BASIS,
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
// See the License for the specific language governing permissions and
// limitations under the License.
//
// Code generated by sidekick. DO NOT EDIT.

#[allow(unused_imports)]
use super::*;

impl std::fmt::Debug for super::PubsubMessage {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("PubsubMessage");
        debug_struct.field("data", &self.data);
        debug_struct.field("attributes", &self.attributes);
        debug_struct.field("message_id", &self.message_id);
        debug_struct.field("publish_time", &self.publish_time);
        debug_struct.field("ordering_key", &self.ordering_key);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::PublishRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("PublishRequest");
        debug_struct.field("topic", &self.topic);
        debug_struct.field("messages", &self.messages);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::PublishResponse {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("PublishResponse");
        debug_struct.field("message_ids", &self.message_ids);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ReceivedMessage {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ReceivedMessage");
        debug_struct.field("ack_id", &self.ack_id);
        debug_struct.field("message", &self.message);
        debug_struct.field("delivery_attempt", &self.delivery_attempt);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::ModifyAckDeadlineRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ModifyAckDeadlineRequest");
        debug_struct.field("subscription", &self.subscription);
        debug_struct.field("ack_ids", &self.ack_ids);
        debug_struct.field("ack_deadline_seconds", &self.ack_deadline_seconds);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::AcknowledgeRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("AcknowledgeRequest");
        debug_struct.field("subscription", &self.subscription);
        debug_struct.field("ack_ids", &self.ack_ids);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::StreamingPullRequest {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("StreamingPullRequest");
        debug_struct.field("subscription", &self.subscription);
        debug_struct.field("ack_ids", &self.ack_ids);
        debug_struct.field("modify_deadline_seconds", &self.modify_deadline_seconds);
        debug_struct.field("modify_deadline_ack_ids", &self.modify_deadline_ack_ids);
        debug_struct.field(
            "stream_ack_deadline_seconds",
            &self.stream_ack_deadline_seconds,
        );
        debug_struct.field("client_id", &self.client_id);
        debug_struct.field("max_outstanding_messages", &self.max_outstanding_messages);
        debug_struct.field("max_outstanding_bytes", &self.max_outstanding_bytes);
        debug_struct.field("protocol_version", &self.protocol_version);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::StreamingPullResponse {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("StreamingPullResponse");
        debug_struct.field("received_messages", &self.received_messages);
        debug_struct.field("acknowledge_confirmation", &self.acknowledge_confirmation);
        debug_struct.field(
            "modify_ack_deadline_confirmation",
            &self.modify_ack_deadline_confirmation,
        );
        debug_struct.field("subscription_properties", &self.subscription_properties);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::streaming_pull_response::AcknowledgeConfirmation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("AcknowledgeConfirmation");
        debug_struct.field("ack_ids", &self.ack_ids);
        debug_struct.field("invalid_ack_ids", &self.invalid_ack_ids);
        debug_struct.field("unordered_ack_ids", &self.unordered_ack_ids);
        debug_struct.field("temporary_failed_ack_ids", &self.temporary_failed_ack_ids);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::streaming_pull_response::ModifyAckDeadlineConfirmation {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("ModifyAckDeadlineConfirmation");
        debug_struct.field("ack_ids", &self.ack_ids);
        debug_struct.field("invalid_ack_ids", &self.invalid_ack_ids);
        debug_struct.field("temporary_failed_ack_ids", &self.temporary_failed_ack_ids);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}

impl std::fmt::Debug for super::streaming_pull_response::SubscriptionProperties {
    fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
        let mut debug_struct = f.debug_struct("SubscriptionProperties");
        debug_struct.field(
            "exactly_once_delivery_enabled",
            &self.exactly_once_delivery_enabled,
        );
        debug_struct.field("message_ordering_enabled", &self.message_ordering_enabled);
        if !self._unknown_fields.is_empty() {
            debug_struct.field("_unknown_fields", &self._unknown_fields);
        }
        debug_struct.finish()
    }
}
